<?php
namespace Home\Controller;
use Think\Controller;
class GoodsController extends ConmonController {

    //商品列表显示
    public function lists(){

        $count      = $this->MODEL->count();// 查询满足要求的总记录数
        $Page       = new \Think\Page_nav($count,5);// 实例化分页类 传入总记录数和每页显示的记录数(25)
        $Page->setConfig('prev','上一页');
        $Page->setConfig('next','下一页');
        $Page->setConfig('first','第一页');
        $Page->setConfig('last','尾页');
        $show       = $Page->show();// 分页显示输出// 进行分页数据查询 注意limit方法的参数要使用Page类的属性
        $list = $this->MODEL->order('id asc')->limit($Page->firstRow.','.$Page->listRows)->select();

          // print_r($list);die;
        $this->assign('list',$list);// 赋值数据集
        $this->assign('page',$show);// 赋值分页输出

        $this->display();
    }


    //商品详情
    public function detail(){


        $goods_id= I('get.id');

        $detail = $this->MODEL->relation('photo')->where("id=$goods_id")->find();
        //重组一下数组
        $detail['photo']=explode(',',$detail['photo']['img']);
        $type_id=$detail['type_id'];

        //根据现在查看的商品的类型属性去查询该类型的规格及规格项查询规格价格表获取规格和规格项
        $spec = D('goods_spec')->relation(true)->where("goods_type_id=$type_id")->select();

        //重组数组
        foreach ($spec as $k => $v) {
                foreach ($v['goods_spec_attr'] as $ka => $va) {
                    $spec[$k]['goods_spec_attr'][$va]=$va['name'];
                }
        }

        // print_r($spec);die;
        // echo $this->MODEL->getLastSql();

        $this->assign('goods',$detail);
        $this->assign('spec',$spec);
        $this->display();
    }



    //购物车添加
    public function addcart(){
        if(IS_POST){
            // print_r(I('post.'));die;
            $spec =I('post.spec_rule');
            $desc = D('spec_price')->where("spec_rule='$spec'")->find();
            // print_r($desc);die;
            $goods_id=I('post.goods_id');
            $goods = D('goods')->where("id=$goods_id")->find();
            // print_r($goods);die;
            $_POST['goods_price']=$goods['goods_price'];
            $_POST['name']=$goods['name'];
            $_POST['img']=$goods['img'];
            $_POST['desc']=$desc['spec_desc'];


            $id = D('shop_cart')->data(I('post.'))->add();
            if($id){
                if(I('post.is_pay')==0){
                    $this->success('添加成功',U('home/goods/cartlist'),1);
                }else{
                     $this->success('正在跳转到支付页面...',U('home/goods/pay/id/'.$id),1);
                }

            }else{
                $this->error('添加失败','',1);
            }

            // print_r(I('post.'));die;
        }
    }

    //购物车列表
    public function cartlist(){

        $list = D('shop_cart')->where('status=1')->select();

        // print_r($list);die;

        $this->assign('list',$list);

        $this->display();
    }


    //商品支付页面
    public function pay(){

    //随机一个订单号
    $order =date('YmdHis',time());
    //如果post提交的是在购物车提交过来的商品总价格
     // if(IS_POST){
     //        $price = I('post.total_price');

     //        // print_r(I('post.'));die;
     //    }

     //    //如果不是post，则是在商品详情页点击立即购买传过来的添加购物车id
     //    $id= I('get.id');
     //    $prince_c = D('shop_cart')->where("id=$id")->find();

        Header("Content-type:text/html;charset=utf-8");
            $pay_config=C('ALIPAY');
            // print_r($pay_config);die;
            Vendor('Alipay.AlipayNotify');
            Vendor('Alipay.AlipaySubmit');
            Vendor('Alipay.CoreFunction');
            Vendor('Alipay.Md5Function');

            $con=array(
                    'service' => $pay_config['service'],
                    'partner' => $pay_config['partner'],
                    'payment_type' => $pay_config['payment_type'], //支付类型 //必填，不能修改
                    'notify_url' => $pay_config['notify_url'], //服务器异步通知页面路径
                    'return_url' => $pay_config['return_url'], //页面跳转同步通知页面路径
                    'seller_id' => $pay_config['seller_id'], //卖家支付宝帐户必填
                    'out_trade_no' => '154848448', //商户订单号 通过支付页面的表单进行传递，注意要唯一！
                    'subject' => '火车票', //订单名称 //必填 通过支付页面的表单进行传递
                    'total_fee' => '10000', //付款金额  //必填 通过支付页面的表单进行传递
                    'body' => '没有描述', //订单描述 通过支付页面的表单进行传递
                    '_input_charset' => $pay_config['input_charset']


                );
            // print_r($con);die;
            $pay=new \AlipaySubmit($pay_config);
            // var_dump($pay);die;
            echo $pay->buildRequestForm($con,'POST','提交');





    }


}